// 视频任务配置文件
module.exports = {

  // 0. API 配置
  api: {
    // 这里是 coze 的用户授权码，默认用 @wbhe 的， 对应工作流可以添加对应 用户 来执行
    // 使用 taskType 作为键，而不是 workflowId
    token: {
      '默认': 'pat_7wxmxtC65XAJU0PvqG0YSewGf90liATfOU0HLPnyAQeD1skfAl0CUkJQbYgymcvY', //hwb
      
      // 使用 taskType 映射
      '横屏|白底映彩类': 'pat_3tZFbVgGYlfIxoTZ8m2EZgNpAVbJolWxkU07hpg2JO676SgfteDp0nIdbivliseW', //lyc
      '横屏|批判警示类': 'pat_3tZFbVgGYlfIxoTZ8m2EZgNpAVbJolWxkU07hpg2JO676SgfteDp0nIdbivliseW', //lyc
      '横屏|情景故事型': 'pat_TElYYPSvMpGbQFEMTRcAaR7SXZASfB095BpQsA8JyePdJpx7OwskPBaoi58nLcjI', //zzx
      '横屏|混剪火柴人': 'pat_TElYYPSvMpGbQFEMTRcAaR7SXZASfB095BpQsA8JyePdJpx7OwskPBaoi58nLcjI', //zzx
      '横屏|像素叙事型': 'pat_sVagZOnH4mQlotKhGcJZAF88pOuJG1lPQCtg3sPC0aP2tAeNNwuNYbyFB8cZarSc', //hjh
      '竖屏|混剪素材类': 'pat_tYee7bcntE8UeXS3wLrDXdhBCJ4pvyHo3Z0FmNISyUNiCJAbP3chXKkhFhabpipC', //hwb
      '横屏|3D卡通育儿': 'pat_sVagZOnH4mQlotKhGcJZAF88pOuJG1lPQCtg3sPC0aP2tAeNNwuNYbyFB8cZarSc', //hjh
      '竖屏|AI虚拟形象': 'pat_tYee7bcntE8UeXS3wLrDXdhBCJ4pvyHo3Z0FmNISyUNiCJAbP3chXKkhFhabpipC', //hwb
      '竖屏|卡通数字人': 'pat_tYee7bcntE8UeXS3wLrDXdhBCJ4pvyHo3Z0FmNISyUNiCJAbP3chXKkhFhabpipC', //hwb
      '定制|爱尔数字人': 'pat_tYee7bcntE8UeXS3wLrDXdhBCJ4pvyHo3Z0FmNISyUNiCJAbP3chXKkhFhabpipC', //hwb

    }, // Coze 的验证token
    baseUrl: "https://api.coze.cn", // Coze api_url
    fy_token: "RY2m-JNvF196HnCuyD5ikU3JUkOkbuc1okGT7o6gTfE" // 使用付费插件 飞影的API
  },

  // 1. 积分消耗映射
  pointMap: {

    '默认': 0, // 默认类型变成0

    '竖屏|混剪素材类': 1,
    '横屏|情景故事型': 1,
    '横屏|批判警示类': 3,

    '横屏|混剪火柴人': 2,
    '横屏|像素叙事型': 2,
    '横屏|3D卡通育儿': 1,
    '横屏|白底映彩类': 1,

    '竖屏|AI虚拟形象': 1,
    '竖屏|卡通数字人': 1,
    '定制|爱尔数字人': 2,

  },

  // 2. 工作流ID映射 - 根据任务类型
  workflowIds: {

    // 默认
    '默认': '7562778952324284442', // 默认用 竖屏|混剪素材类  只需要 topic

    //新增七个工作流
    '竖屏|混剪素材类': '7562778952324284442',
    '横屏|情景故事型': '7563610822607077385',
    '横屏|批判警示类': '7563611061505523747',
    '横屏|混剪火柴人': '7563610890672865330',
    '横屏|像素叙事型': '7564335130396770340',
    '横屏|3D卡通育儿': '7564336905295708223',
    '横屏|白底映彩类': '7563610542860091435',

    // 数字人3个流
    '竖屏|AI虚拟形象': '7563503357559734282',
    '竖屏|卡通数字人': '7563506923837194274',
    '定制|爱尔数字人': '7563507184471785526',
  },

  // 3. 说话人ID映射 - 从前端传递的值到实际API ID
  speakerIds: {
    // 默认声音
    '默认': 'zh-CN-XiaoyanNeural',

    // 公共数字人的维护
    '女声_方言_四川话': 'f2627ab6-1c36-40c7-bbc7-f394593af122',
    '女声_方言_天津话': '45c3f5f5-e27e-4f35-8ac0-67e92119a6ba',
    '女声_年轻温柔版': 'zh-CN-XiaoyanNeural',
    '女声_中年版': 'f00c394e-e418-437c-ba05-3da2121e8c64',
    '女声_年长版': 'ffe716a2-3a4e-4e33-a230-e67560383666',
    '男声_中年版': '8b8180d5-97c3-44cb-bd1e-a756ab47c176',
    '男声_年长_慢速版': 'db65c1a8-b2aa-4e6e-8992-e6a61857e7cf',

    // 卡通数字人的维护
    '影视-喜羊羊(哈利波特专属)': '642b9223-b7f3-41e8-89f9-4d5ae9a49eea',
    'GGBond': '2bd92fcc-169e-4810-89f0-bfd4a5afa36a',
    '海绵宝宝': '4fe20530-9d20-44ce-9231-a4fac6dc1227',
    '蜡笔小新': 'a6b6b963-3813-474d-a55e-ae3b510afa0d',
    '柯南': '4d71bda5-fc7e-4a2e-bbbb-09912690a0bd',
    '女声_四川话': 'f2627ab6-1c36-40c7-bbc7-f394593af122',
    '女声_天津话': '45c3f5f5-e27e-4f35-8ac0-67e92119a6ba',
    '女声_年轻温柔版': 'zh-CN-XiaoyanNeural',
    '男声_中年版': '8b8180d5-97c3-44cb-bd1e-a756ab47c176',
    '男声_老年版': 'db65c1a8-b2aa-4e6e-8992-e6a61857e7cf',


    // 爱尔数字人的维护

    '女声_四川话': 'f2627ab6-1c36-40c7-bbc7-f394593af122',
    '女声_天津话': '45c3f5f5-e27e-4f35-8ac0-67e92119a6ba',
    '女声_年轻温柔版': 'zh-CN-XiaoyanNeural',
    '女声_中年版': 'f00c394e-e418-437c-ba05-3da2121e8c64',
    '女声_年老版': 'ffe716a2-3a4e-4e33-a230-e67560383666',
    '男声_中年版': '8b8180d5-97c3-44cb-bd1e-a756ab47c176',
    '男声_老年版': 'db65c1a8-b2aa-4e6e-8992-e6a61857e7cf'


  },

  // 4. 素材ID映射 - 从素材类型到ID
  materialIds: {
    // 默认素材
    '默认': '2367155', // 使用 小陈-健康咨询(手术室年轻女医生)

    // 公共数字人素材
    '小陈-健康咨询(手术室年轻女医生)': '2367155',
    '李梅珍(职场女性)': '2142955',
    '钟教授(职场老年男性)': '1139996',
    '健康咨询牛立群(年老女医生1)': '1139903',
    '刘慧霏(年老女医生2)': '947351',

    // 卡通数字人素材
    '阿基米德': '2523441',
    '甜馨': '1726094',
    '孟子': '2523435',
    '西施(竖屏)': '2523417',
    '哈利波特(竖屏)': '2491524',
    '贵族王子': '2491519',
    'GGBond': '2735643',
    '海绵宝宝': '2735805',
    '蜡笔小新': '2735840',
    '柯南': '2735955',

    // 定制爱尔数字人素材
    '女医生1(李雪)': '2660908',
    '女医生2(李晓柠)': '2661560',
    '男医生(一号)': '2660824',
    '男医生(蓝卫忠)': '2672696',
    '男医生(温龙波)': '2672862',
    '男医生(陈兆)': '2672901',
    '男医生(戴伟伟)': '2675258',
    '男医生(吕老师)': '2735567',

    '女医生(刘佳)':'2834525',
    '女医生(刘佳2)':'2834647',

    '女医生(张俊华)':'2834474',
    '男医生(高杨)':'2859580'

  },

  // 5. 情感配置 - 支持的情感类型及其对应的参数
  emotions: {
    '默认': '默认',
  },


  // 用户角色配置 - 从用户信息到权限配置
  userRoles: {
    'admin': {
      role: 'admin',
      permissions: ['*'],
      limits: {
        daily_tasks: -1,
        monthly_tasks: -1,
        max_duration: -1
      },
      features: ['*']
    },
    'vip': {
      role: 'vip',
      permissions: ['create_task', 'view_own_tasks', 'premium_features'],
      limits: {
        daily_tasks: 50,
        monthly_tasks: 500,
        max_duration: 600
      },
      features: ['premium_templates', 'hd_quality', 'custom_voice']
    },
    'premium': {
      role: 'premium',
      permissions: ['create_task', 'view_own_tasks', 'premium_features'],
      limits: {
        daily_tasks: 30,
        monthly_tasks: 300,
        max_duration: 450
      },
      features: ['premium_templates', 'hd_quality']
    },
    'user': {
      role: 'user',
      permissions: ['create_task', 'view_own_tasks'],
      limits: {
        daily_tasks: 10,
        monthly_tasks: 100,
        max_duration: 300
      },
      features: ['basic_templates']
    }
  },

  // 错误代码配置 - 标准化错误处理
  errorCodes: {
    // 参数错误
    'INVALID_CONTENT': {
      code: 'E001',
      message: '内容格式不正确',
      level: 'warning'
    },
    'MISSING_SPEAKER': {
      code: 'E002',
      message: '缺少说话人设置',
      level: 'error'
    },
    'INVALID_DURATION': {
      code: 'E003',
      message: '时长设置超出限制',
      level: 'warning'
    },

    // API错误
    'API_TIMEOUT': {
      code: 'E101',
      message: 'API请求超时',
      level: 'error'
    },
    'API_RATE_LIMIT': {
      code: 'E102',
      message: 'API调用频率超限',
      level: 'warning'
    },
    'API_QUOTA_EXCEEDED': {
      code: 'E103',
      message: 'API配额已用完',
      level: 'error'
    },

    // 系统错误
    'DATABASE_ERROR': {
      code: 'E201',
      message: '数据库操作失败',
      level: 'error'
    },
    'STORAGE_ERROR': {
      code: 'E202',
      message: '存储服务异常',
      level: 'error'
    },
    'NETWORK_ERROR': {
      code: 'E203',
      message: '网络连接异常',
      level: 'error'
    },

    // 业务错误
    'INSUFFICIENT_BALANCE': {
      code: 'E301',
      message: '余额不足',
      level: 'warning'
    },
    'PERMISSION_DENIED': {
      code: 'E302',
      message: '权限不足',
      level: 'error'
    },
    'RESOURCE_NOT_FOUND': {
      code: 'E303',
      message: '资源不存在',
      level: 'warning'
    },

    // 默认错误
    'UNKNOWN_ERROR': {
      code: 'E999',
      message: '未知错误',
      level: 'error'
    }
  },

  // 状态配置 - 标准化任务状态
  taskStatuses: {
    // 基础状态
    'pending': {
      code: 'pending',
      name: '等待中',
      color: '#1976d2',
      progress: 0
    },
    'running': {
      code: 'running',
      name: '处理中',
      color: '#ff9800',
      progress: 50
    },
    'completed': {
      code: 'completed',
      name: '已完成',
      color: '#4caf50',
      progress: 100
    },
    'failed': {
      code: 'failed',
      name: '失败',
      color: '#f44336',
      progress: 0
    },
    'cancelled': {
      code: 'cancelled',
      name: '已取消',
      color: '#757575',
      progress: 0
    },

    // 中文状态
    '等待中': {
      code: 'pending',
      name: '等待中',
      color: '#1976d2',
      progress: 0
    },
    '处理中': {
      code: 'running',
      name: '处理中',
      color: '#ff9800',
      progress: 50
    },
    '已完成': {
      code: 'completed',
      name: '已完成',
      color: '#4caf50',
      progress: 100
    },
    '失败': {
      code: 'failed',
      name: '失败',
      color: '#f44336',
      progress: 0
    },
    '已取消': {
      code: 'cancelled',
      name: '已取消',
      color: '#757575',
      progress: 0
    },

    // 详细状态
    'queued': {
      code: 'pending',
      name: '排队中',
      color: '#1976d2',
      progress: 10
    },
    'processing': {
      code: 'running',
      name: '生成中',
      color: '#ff9800',
      progress: 60
    },
    'uploading': {
      code: 'running',
      name: '上传中',
      color: '#ff9800',
      progress: 80
    },
    'success': {
      code: 'completed',
      name: '成功',
      color: '#4caf50',
      progress: 100
    },
    'error': {
      code: 'failed',
      name: '错误',
      color: '#f44336',
      progress: 0
    },
    'timeout': {
      code: 'failed',
      name: '超时',
      color: '#f44336',
      progress: 0
    }
  },

  // 图片处理配置
  imageProcessing: {
    'maxSize': 10 * 1024 * 1024, // 10MB
    'supportedFormats': ['jpg', 'jpeg', 'png', 'gif', 'webp'],
    'defaultPosition': 'auto',
    'defaultSize': 'medium',
    'positions': {
      'auto': '自动',
      'center': '居中',
      'top': '顶部',
      'bottom': '底部',
      'left': '左侧',
      'right': '右侧'
    },
    'sizes': {
      'small': {
        width: 400,
        height: 300
      },
      'medium': {
        width: 800,
        height: 600
      },
      'large': {
        width: 1200,
        height: 900
      },
      'auto': {
        width: 'auto',
        height: 'auto'
      }
    }
  },
};